d7cd7b81ee2b8400e495453751f6025eed5a9600,src/be/ibridge/kettle/trans/step/xmloutput/XMLOutput.java,XMLOutput,formatField,#Value#number#,195

Before Change


			{
				if (v.isNull())
				{
					if (field.getNullString()!=null) retval=field.getNullString();
					else retval = "";
				}
				else

After Change


			{
				if (v.isNull())
				{
					if (!Const.isEmpty(field.getNullString()))
                    {
                        retval=field.getNullString();
                    }
					else
                    {
                        retval = Const.NULL_NUMBER;
                    }
				}
				else
				{
                    // Formatting
                    if ( !Const.isEmpty(field.getFormat()) )
                    {
                        data.df.applyPattern(field.getFormat());
                    }
                    else
                    {
                        data.df.applyPattern(data.defaultDecimalFormat.toPattern());
                    }
                    // Decimal 
					if ( !Const.isEmpty( field.getDecimalSymbol()) )
                    {
                        data.dfs.setDecimalSeparator( field.getDecimalSymbol().charAt(0) );
                    }
                    else
                    {
                        data.dfs.setDecimalSeparator( data.defaultDecimalFormatSymbols.getDecimalSeparator() );
                    }
                    // Grouping
					if ( !Const.isEmpty( field.getGroupingSymbol()) )
                    {
                        data.dfs.setGroupingSeparator( field.getGroupingSymbol().charAt(0) );
                    }
                    else
                    {
                        data.dfs.setGroupingSeparator( data.defaultDecimalFormatSymbols.getGroupingSeparator() );
                    }
                    // Currency symbol
					if ( !Const.isEmpty( field.getCurrencySymbol()) ) 
                    {
                        data.dfs.setCurrencySymbol( field.getCurrencySymbol() );
                    }
                    else
                    {
                        data.dfs.setCurrencySymbol( data.defaultDecimalFormatSymbols.getCurrencySymbol() );
                    }
							
					data.df.setDecimalFormatSymbols(data.dfs);
                    
                    if (v.isBigNumber())
                    {
                        retval=data.df.format(v.getBigNumber());
                    }
                    else if (v.isNumber())
                    {
                        retval=data.df.format(v.getNumber());
                    }
                    else // Integer
                    {
                        retval=data.df.format(v.getInteger());
                    }
				}
			}
			else
			{
				if (v.isNull()) 
				{
					if (idx>=0 && field!=null && !Const.isEmpty(field.getNullString()))
                    {
                        retval=field.getNullString();
                    }
					else
                    {
                        retval = Const.NULL_NUMBER;
                    }
				}
				else
				{
					retval=v.toString();
				}
			}
        }
		else
		if (v.isDate())
		{
			if (idx>=0 && field!=null && !Const.isEmpty(field.getFormat()) && v.getDate()!=null)
			{
                if (!Const.isEmpty(field.getFormat()))
                {
                    data.daf.applyPattern( field.getFormat() );
                }
                else
                {
                    data.daf.applyPattern( data.defaultDateFormat.toPattern() );
                }
				data.daf.setDateFormatSymbols(data.dafs);
				retval= data.daf.format(v.getDate());
			}
			else
			{
				if (v.isNull() || v.getDate()==null) 
				{
					if (idx>=0 && field!=null && !Const.isEmpty(field.getNullString()))
                    {
                        retval=field.getNullString();
                    }
                    else
                    {
                        retval = Const.NULL_DATE;
                    }
				}
				else
				{
					retval=v.toString();
				}
			}
		}
		else
		if (v.isString())
		{
			if (v.isNull() || v.getString()==null) 
			{
				if (idx>=0 && field!=null && !Const.isEmpty(field.getNullString()))
                {
                    retval=field.getNullString();
                }
                else
                {
                    retval = Const.NULL_STRING;
                }			}
			else
			{
				retval=v.toString();
			}
		}
        else if (v.isBinary())
        {
            if (v.isNull())
            {
                if (!Const.isEmpty(field.getNullString()))
                {
                    retval=field.getNullString();
                }
                else
                {
                    retval=Const.NULL_BINARY;
                }
            }
            else
            {                   
                try 
                {
                    retval=new String(v.getBytes(), "UTF-8");
                } 
                catch (UnsupportedEncodingException e) 
                {
                    // chances are small we'll get here. UTF-8 is
                    // mandatory.
                    retval=Const.NULL_BINARY;   
                }                   
            }
        }        
		else // Boolean
		{
			if (v.isNull()) 
			{
				if (idx>=0 && field!=null && !Const.isEmpty(field.getNullString()))
                {
                    retval=field.getNullString();
                }
                else
                {
                    retval = Const.NULL_BOOLEAN;
                }
			}
			else